/*
*
* UserProductCollectionExample.java
* @author yaokan
* @date 2020-11-26 16:52:19
*/
package com.steel.yfmall.cloud.assistant.po.user;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class UserProductCollectionExample {
    /**
     * c_user_product_collection
     */
    protected String orderByClause;

    /**
     * c_user_product_collection
     */
    protected boolean distinct;

    /**
     * c_user_product_collection
     */
    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    private String groupByClause;

    private String selectFields;

    /**
     * 构造查询条件:c_user_product_collection
     * @Title: UserProductCollectionExample
     * @Description: ( )
     * @return 返回类型 null
     * @date 2020-11-26 16:52:19
     */
    public UserProductCollectionExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * 设置排序字段:c_user_product_collection
     * @Title: setOrderByClause
     * @Description: ( 设置排序字段 )
     * @param 参数说明 类型:String	名称:orderByClause 排序字段
     * @return 返回类型 null
     * @date 2020-11-26 16:52:19
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * 获取排序字段:c_user_product_collection
     * @Title: getOrderByClause
     * @Description: ( 获取排序字段 )
     * @return 返回类型 java.lang.String
     * @date 2020-11-26 16:52:19
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * 设置过滤重复数据:c_user_product_collection
     * @Title: setDistinct
     * @Description: ( 设置过滤重复数据 )
     * @param 参数说明 类型:boolean	名称:distinct 是否过滤重复数据
     * @return 返回类型 null
     * @date 2020-11-26 16:52:19
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * 是否过滤重复数据:c_user_product_collection
     * @Title: isDistinct
     * @Description: ( 是否过滤重复数据 )
     * @return 返回类型 boolean
     * @date 2020-11-26 16:52:19
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * 获取当前的查询条件实例:c_user_product_collection
     * @Title: getOredCriteria
     * @Description: ( 获取当前的查询条件实例 )
     * @return 返回类型 java.util.List<Criteria>
     * @date 2020-11-26 16:52:19
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     *:c_user_product_collection
     * @Title: or
     * @Description: ( )
     *
     * @param 参数说明 类型:Criteria	名称:criteria 过滤条件实例
     * @return 返回类型 null
     * @date 2020-11-26 16:52:19
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     *:c_user_product_collection
     * @Title: or
     * @Description: ( )
     *
     * @return 返回类型 Criteria
     * @date 2020-11-26 16:52:19
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * 创建一个查询条件:c_user_product_collection
     * @Title: createCriteria
     * @Description: ( 创建一个查询条件 )
     * @return 返回类型 Criteria
     * @date 2020-11-26 16:52:19
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * 内部构建查询条件对象:c_user_product_collection
     * @Title: createCriteriaInternal
     * @Description: ( 内部构建查询条件对象 )
     * @return 返回类型 Criteria
     * @date 2020-11-26 16:52:19
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * 清除查询条件:c_user_product_collection
     * @Title: clear
     * @Description: ( 清除查询条件 )
     * @return 返回类型 null
     * @date 2020-11-26 16:52:19
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void limit(Integer offset, Integer limit) {
        this.offset = offset;
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    public void setGroupByClause(String groupByClause) {
        this.groupByClause = groupByClause;
    }

    public String getGroupByClause() {
        return groupByClause;
    }

    public void setSelectFields(String selectFields) {
        this.selectFields = selectFields;
    }

    public String getSelectFields() {
        return selectFields;
    }

    /**
     * @title c_user_product_collection表的实体类
     * @description c_user_product_collection
     * @version 1.0
     * @author yaokan
     * @date 2020-11-26 16:52:19
     */
    protected abstract static class GeneratedCriteria implements java.io.Serializable {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("user_name is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("user_name is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("user_name =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("user_name <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("user_name >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("user_name >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("user_name <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("user_name <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("user_name like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("user_name not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("user_name in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("user_name not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("user_name between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("user_name not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIsNull() {
            addCriterion("product_sys_code is null");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIsNotNull() {
            addCriterion("product_sys_code is not null");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeEqualTo(String value) {
            addCriterion("product_sys_code =", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotEqualTo(String value) {
            addCriterion("product_sys_code <>", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeGreaterThan(String value) {
            addCriterion("product_sys_code >", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeGreaterThanOrEqualTo(String value) {
            addCriterion("product_sys_code >=", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLessThan(String value) {
            addCriterion("product_sys_code <", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLessThanOrEqualTo(String value) {
            addCriterion("product_sys_code <=", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeLike(String value) {
            addCriterion("product_sys_code like", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotLike(String value) {
            addCriterion("product_sys_code not like", value, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeIn(List<String> values) {
            addCriterion("product_sys_code in", values, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotIn(List<String> values) {
            addCriterion("product_sys_code not in", values, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeBetween(String value1, String value2) {
            addCriterion("product_sys_code between", value1, value2, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductSysCodeNotBetween(String value1, String value2) {
            addCriterion("product_sys_code not between", value1, value2, "productSysCode");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNull() {
            addCriterion("product_name is null");
            return (Criteria) this;
        }

        public Criteria andProductNameIsNotNull() {
            addCriterion("product_name is not null");
            return (Criteria) this;
        }

        public Criteria andProductNameEqualTo(String value) {
            addCriterion("product_name =", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotEqualTo(String value) {
            addCriterion("product_name <>", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThan(String value) {
            addCriterion("product_name >", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameGreaterThanOrEqualTo(String value) {
            addCriterion("product_name >=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThan(String value) {
            addCriterion("product_name <", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLessThanOrEqualTo(String value) {
            addCriterion("product_name <=", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameLike(String value) {
            addCriterion("product_name like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotLike(String value) {
            addCriterion("product_name not like", value, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameIn(List<String> values) {
            addCriterion("product_name in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotIn(List<String> values) {
            addCriterion("product_name not in", values, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameBetween(String value1, String value2) {
            addCriterion("product_name between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductNameNotBetween(String value1, String value2) {
            addCriterion("product_name not between", value1, value2, "productName");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceIsNull() {
            addCriterion("product_sale_price is null");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceIsNotNull() {
            addCriterion("product_sale_price is not null");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceEqualTo(BigDecimal value) {
            addCriterion("product_sale_price =", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceNotEqualTo(BigDecimal value) {
            addCriterion("product_sale_price <>", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceGreaterThan(BigDecimal value) {
            addCriterion("product_sale_price >", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("product_sale_price >=", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceLessThan(BigDecimal value) {
            addCriterion("product_sale_price <", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("product_sale_price <=", value, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceIn(List<BigDecimal> values) {
            addCriterion("product_sale_price in", values, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceNotIn(List<BigDecimal> values) {
            addCriterion("product_sale_price not in", values, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("product_sale_price between", value1, value2, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductSalePriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("product_sale_price not between", value1, value2, "productSalePrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceIsNull() {
            addCriterion("product_market_price is null");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceIsNotNull() {
            addCriterion("product_market_price is not null");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceEqualTo(BigDecimal value) {
            addCriterion("product_market_price =", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceNotEqualTo(BigDecimal value) {
            addCriterion("product_market_price <>", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceGreaterThan(BigDecimal value) {
            addCriterion("product_market_price >", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("product_market_price >=", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceLessThan(BigDecimal value) {
            addCriterion("product_market_price <", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("product_market_price <=", value, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceIn(List<BigDecimal> values) {
            addCriterion("product_market_price in", values, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceNotIn(List<BigDecimal> values) {
            addCriterion("product_market_price not in", values, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("product_market_price between", value1, value2, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andProductMarketPriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("product_market_price not between", value1, value2, "productMarketPrice");
            return (Criteria) this;
        }

        public Criteria andBvValueIsNull() {
            addCriterion("bv_value is null");
            return (Criteria) this;
        }

        public Criteria andBvValueIsNotNull() {
            addCriterion("bv_value is not null");
            return (Criteria) this;
        }

        public Criteria andBvValueEqualTo(Integer value) {
            addCriterion("bv_value =", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueNotEqualTo(Integer value) {
            addCriterion("bv_value <>", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueGreaterThan(Integer value) {
            addCriterion("bv_value >", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueGreaterThanOrEqualTo(Integer value) {
            addCriterion("bv_value >=", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueLessThan(Integer value) {
            addCriterion("bv_value <", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueLessThanOrEqualTo(Integer value) {
            addCriterion("bv_value <=", value, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueIn(List<Integer> values) {
            addCriterion("bv_value in", values, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueNotIn(List<Integer> values) {
            addCriterion("bv_value not in", values, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueBetween(Integer value1, Integer value2) {
            addCriterion("bv_value between", value1, value2, "bvValue");
            return (Criteria) this;
        }

        public Criteria andBvValueNotBetween(Integer value1, Integer value2) {
            addCriterion("bv_value not between", value1, value2, "bvValue");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlIsNull() {
            addCriterion("product_main_image_url is null");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlIsNotNull() {
            addCriterion("product_main_image_url is not null");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlEqualTo(String value) {
            addCriterion("product_main_image_url =", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlNotEqualTo(String value) {
            addCriterion("product_main_image_url <>", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlGreaterThan(String value) {
            addCriterion("product_main_image_url >", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlGreaterThanOrEqualTo(String value) {
            addCriterion("product_main_image_url >=", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlLessThan(String value) {
            addCriterion("product_main_image_url <", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlLessThanOrEqualTo(String value) {
            addCriterion("product_main_image_url <=", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlLike(String value) {
            addCriterion("product_main_image_url like", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlNotLike(String value) {
            addCriterion("product_main_image_url not like", value, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlIn(List<String> values) {
            addCriterion("product_main_image_url in", values, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlNotIn(List<String> values) {
            addCriterion("product_main_image_url not in", values, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlBetween(String value1, String value2) {
            addCriterion("product_main_image_url between", value1, value2, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andProductMainImageUrlNotBetween(String value1, String value2) {
            addCriterion("product_main_image_url not between", value1, value2, "productMainImageUrl");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIsNull() {
            addCriterion("source_code is null");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIsNotNull() {
            addCriterion("source_code is not null");
            return (Criteria) this;
        }

        public Criteria andSourceCodeEqualTo(String value) {
            addCriterion("source_code =", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotEqualTo(String value) {
            addCriterion("source_code <>", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeGreaterThan(String value) {
            addCriterion("source_code >", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeGreaterThanOrEqualTo(String value) {
            addCriterion("source_code >=", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLessThan(String value) {
            addCriterion("source_code <", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLessThanOrEqualTo(String value) {
            addCriterion("source_code <=", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeLike(String value) {
            addCriterion("source_code like", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotLike(String value) {
            addCriterion("source_code not like", value, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeIn(List<String> values) {
            addCriterion("source_code in", values, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotIn(List<String> values) {
            addCriterion("source_code not in", values, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeBetween(String value1, String value2) {
            addCriterion("source_code between", value1, value2, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andSourceCodeNotBetween(String value1, String value2) {
            addCriterion("source_code not between", value1, value2, "sourceCode");
            return (Criteria) this;
        }

        public Criteria andTagesNameIsNull() {
            addCriterion("tages_name is null");
            return (Criteria) this;
        }

        public Criteria andTagesNameIsNotNull() {
            addCriterion("tages_name is not null");
            return (Criteria) this;
        }

        public Criteria andTagesNameEqualTo(String value) {
            addCriterion("tages_name =", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameNotEqualTo(String value) {
            addCriterion("tages_name <>", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameGreaterThan(String value) {
            addCriterion("tages_name >", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameGreaterThanOrEqualTo(String value) {
            addCriterion("tages_name >=", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameLessThan(String value) {
            addCriterion("tages_name <", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameLessThanOrEqualTo(String value) {
            addCriterion("tages_name <=", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameLike(String value) {
            addCriterion("tages_name like", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameNotLike(String value) {
            addCriterion("tages_name not like", value, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameIn(List<String> values) {
            addCriterion("tages_name in", values, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameNotIn(List<String> values) {
            addCriterion("tages_name not in", values, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameBetween(String value1, String value2) {
            addCriterion("tages_name between", value1, value2, "tagesName");
            return (Criteria) this;
        }

        public Criteria andTagesNameNotBetween(String value1, String value2) {
            addCriterion("tages_name not between", value1, value2, "tagesName");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIsNull() {
            addCriterion("site_code is null");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIsNotNull() {
            addCriterion("site_code is not null");
            return (Criteria) this;
        }

        public Criteria andSiteCodeEqualTo(String value) {
            addCriterion("site_code =", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotEqualTo(String value) {
            addCriterion("site_code <>", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeGreaterThan(String value) {
            addCriterion("site_code >", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeGreaterThanOrEqualTo(String value) {
            addCriterion("site_code >=", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLessThan(String value) {
            addCriterion("site_code <", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLessThanOrEqualTo(String value) {
            addCriterion("site_code <=", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeLike(String value) {
            addCriterion("site_code like", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotLike(String value) {
            addCriterion("site_code not like", value, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeIn(List<String> values) {
            addCriterion("site_code in", values, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotIn(List<String> values) {
            addCriterion("site_code not in", values, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeBetween(String value1, String value2) {
            addCriterion("site_code between", value1, value2, "siteCode");
            return (Criteria) this;
        }

        public Criteria andSiteCodeNotBetween(String value1, String value2) {
            addCriterion("site_code not between", value1, value2, "siteCode");
            return (Criteria) this;
        }

        public Criteria andShopNumberIsNull() {
            addCriterion("shop_number is null");
            return (Criteria) this;
        }

        public Criteria andShopNumberIsNotNull() {
            addCriterion("shop_number is not null");
            return (Criteria) this;
        }

        public Criteria andShopNumberEqualTo(String value) {
            addCriterion("shop_number =", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberNotEqualTo(String value) {
            addCriterion("shop_number <>", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberGreaterThan(String value) {
            addCriterion("shop_number >", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberGreaterThanOrEqualTo(String value) {
            addCriterion("shop_number >=", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberLessThan(String value) {
            addCriterion("shop_number <", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberLessThanOrEqualTo(String value) {
            addCriterion("shop_number <=", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberLike(String value) {
            addCriterion("shop_number like", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberNotLike(String value) {
            addCriterion("shop_number not like", value, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberIn(List<String> values) {
            addCriterion("shop_number in", values, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberNotIn(List<String> values) {
            addCriterion("shop_number not in", values, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberBetween(String value1, String value2) {
            addCriterion("shop_number between", value1, value2, "shopNumber");
            return (Criteria) this;
        }

        public Criteria andShopNumberNotBetween(String value1, String value2) {
            addCriterion("shop_number not between", value1, value2, "shopNumber");
            return (Criteria) this;
        }
    }

    /**
     * c_user_product_collection
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * @title c_user_product_collection表的实体类
     * @description c_user_product_collection
     * @version 1.0
     * @author yaokan
     * @date 2020-11-26 16:52:19
     */
    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}
